草庐IT

windows - 戈朗 : winapi call with struct parameter

全部标签

windows - 运行 go install 结果报错

我在Windows上安装了go。GOPATH设置为:c:\go-workspace我在这个目录中有一个名为login.go的文件:C:\go-workspace\src\github.com\llnw\loginlogin.go包含这个:packagemainfuncmain(){fmt.Printf("login\n")}我尝试了以下构建:gobuildgithub.com/llnw/login/login但是我得到这个错误:can'tloadpackage:packagegithub.com/llnw/login/login:cannotfindpackage"github.com

go - 如何从 Windows 交叉编译到 Linux?

我在Windows机器上安装了Go1.2,编写了一个虚拟程序并将环境变量GOARCH和GOOS分别设置为“AMD64”和“linux”.当我发出“gobuild”命令时,我收到一个错误:gobuildruntime:linux/amd64mustbebootstrappedusingmake.bat这是什么意思? 最佳答案 它告诉您它需要构建所有工具才能使用它们。如果你的windowsGOARCH是amd64,那么你可以通过运行这个小批量程序来“构建”所有需要的工具:setGOARCH=amd64setGOOS=linuxgotoo

戈朗 : steering window covering

我想用我的智能手机操作我的窗帘。现在每次我改变手机的位置时都有一个方法funcmain(){OnUpdate(func(tPosint){wc(tPos,cPos)cPos=tPos}}被调用,其中tPos是0到100之间的整数,它是目标位置。当前位置cPos也有一个变量。OnUpdate应该调用一个函数,该函数根据cPos和tPos之间的顺序关系打开或关闭窗帘。这个函数看起来像这样。funcwc(tPosint,cPosint){switch{casetPos==0:log.Println("close")casetPos==100:log.Println("open")casetP

performance - 戈朗 : right way to store map structure in lru cache

我有一个像这样的结构:map[key]value,我想通过一个字符串将它存储在"github.com/golang/groupcache/lru"中键,例如cacheKey。这是我的问题:我发现每当我想更新缓存项时,我都需要先获取:item:=cache.Get(cacheKey)ifv,ok:=item[key];ok{item[key]=new_valuecache.Add(cacheKey,item)}这样做是否正确?或者,正如一些人所建议的,我需要重新设计我的结构,以确保我可以在任何时候更新它时执行cache.Add(cacheKey,item)。或者,我什至应该使用像cach

戈朗 : building interfaces for existing types to make code testable

为了使调用sql包的代码可测试,我构建了以下2个接口(interface):typeDatabaseinterface{Close()errorQuery(string,...interface{})(DatabaseRows,error)}typeDatabaseRowsinterface{Close()errorNext()boolScan(...interface{})error}我要测试的实际代码是:funcgetDatabase(connectionStringstring)(dbDatabase,errerror){ifdb,err=sql.Open("mysql",con

戈朗 : Opposite of Append to remove data

这是我将数据append到结构的方式:user.Things=append(user.Things,item.Id)现在,如何从user.Things中删除item.id?似乎没有像delete、remove或类似的方法。例如,这不起作用:user.Things=append(user.Things[:item.id],user.Things[:item.id+1:]) 最佳答案 维基页面Slicetricks很好地概述了slice上的操作。还有几种删除元素的方法:剪切、删除或不保留顺序删除。就您而言,您似乎只是打错了字(多了一个冒

go - Windows 上的 InfluxDB 安装问题

参照HowtoinstallInfluxDBinWindows我已经完成了所有步骤:goget-u-f./...但我面临如下问题#github.com/influxdata/influxdb/services/precreatorservices\precreator\service.go:32:undefined:zap.NullEncoderservices\precreator\service.go:32:cannotusezap.New(zap.NullEncoder())(type*zap.Logger)astypezap.Loggerinfieldvalueservices

windows - 如何在 Windows 上使用基于 cgo 的包?

Go标准库中的regexp很差,所以我需要一个更强大的引擎,像Python中的regex(pipinstallregex),支持递归,backref,look-ahead/behind,等等……我发现:https://godoc.org/github.com/dlclark/regexp2.NET兼容,非常好;然而,递归无法正常工作。和一些PCRE绑定(bind),例如:https://godoc.org/github.com/glenn-brown/golang-pkg-pcre/src/pkg/pcre那么,如何在Win64上使用此绑定(bind)? 最

戈朗 : strange issue with coroutines and channels

我写了一个测试代码,但不明白为什么会得到这个结果。我的sub()应该根据channel值更新或返回countersend1=counter++send0=returncounter我启动了10个go例程con()。他们应该简单地发送许多1到channel(这个增加计数器)我等待1秒并将0发送到channel。我应该获得什么值(value)?我想首先,我得到一个“随机”值,但我得到100000(好的10x10000比1秒快)现在我变了fori:=0;i到fori:=0;i现在我的返回值是1为什么!?现在取消注释main()中的fmt.Println(counter)。如您所见,计数器工作

Windows 2000虚拟机安装全过程(VMware)

目录1.下载安装VMware 2.安装设置Windows2000由于一次意外,我发现了一本很旧很旧的旧书,上面的编程示例都是以Windows2000来举例子的(哪本书用win2000?emm……)。我原本想给电脑重装Windows2000,但又舍不得现在的Win11,又是一次意外(怎么这么多意外),我发现了一个神奇的虚拟机软件——VMware,据说它可以一个软件安装所有虚拟机系统(如Windows,Linux,macOS……),这不就可以用它来安装Windows2000啦!废话不多说,马上开始~------------------------------------正文------------